In high-speed packet communications networks, several classes of traffic share the common resources of the network. For example, interactive video presents both delay and loss sensitive traffic while voice presents delay sensitive but loss tolerant traffic. File transfers presents loss sensitive but delay tolerant traffic, while datagram services provide traffic which is both delay tolerant and loss tolerant traffic. The first two types of traffic (interactive video and voice) are generally referred to as reserved services since an end-to-end connection must be in place before the user traffic can be launched on the network. The last two types of traffic (file transfer and datagrams), on the other hand, are non-reserved services since they can be launched on the network with no fixed route reserved, but which find their way through the network one link at a time based on local availability. Non-reserved services, often called "best efforts" services, are bursty, delay tolerant and requiring no explicit quality of service guarantee.
Best effort services are extremely useful in maximizing the utilization of the network resources, way beyond the utilization level possible with reserved traffic alone. However, when both reserved and non-reserved traffic are integrated on a single network, it is necessary to ensure that the best effort traffic does not cause degradation of the reserved services traffic. The prior art solves this problem by providing a separate link buffer for the two classes of traffic, and by transmitting best effort traffic only when there is no reserved traffic waiting to be transmitted from the local node onto that link. This arrangement makes the effect of the best effort traffic on the reserved traffic negligible. Typically, a reserved traffic packet would at most wait for the transmission of a single best effort packet. If a link is very slow, a pre-emptive priority can be assigned to the reserved traffic to eliminate even such a minimum single best effort packet delay. If no control is applied to the best effort service, the amount of traffic served approaches the maximum available network capacity, but at the price of creating congestion at the buffers of the network. If congestion causes the loss of transmitted traffic, then it is necessary to retransmit the lost packet, reducing the network utilization.
It is therefore clear that congestion control and congestion avoidance are essential to orderly network management, particularly as the demands generated from best effort traffic approaches or exceeds the available capacity of the network. Two such congestion management systems have been proposed in the prior art, one called Adaptive Rate-Based (ARB) control, disclosed in R.-F. Chang et al. U.S. Pat. No. 5,367,523, granted Nov. 22, 1994, and the other called Adaptive Admission Congestion Control (AACC), disclosed in "Adaptive Admission Congestion Control," by Z. Haas, published in ACM SIGCOMM Computer Communication Review, pages 58-76, 1991. Both of these prior art systems rely on the periodic transmission of time-stamped sampling packets through the network on a selected route and then processing of successively received samples to determine the state of congestion on that route. The information gained in this way is used to drive an adaptive admission control mechanism at the entry point to the network for that route.
In the Chang patent, the changes in delay of successive sampling packets are accumulated during a test period until a threshold is exceeded and the sending station is then advised of the event at which time the sending station resets the accumulated delay to zero. The delay information is therefore always relative to a reset point and does not represent the absolute current state of the network. The Chang patent further utilizes a linear function to change the admission rate during path delay changes, resulting in a long initialization time even if the bandwidth for the new data is available. This phenomenon is even worse in high speed networks where the amount of change in data rates is potentially very large.
The Adaptive Admission Congestion Control (AACC) of Haas, on the other hand, uses an averaged delay, implemented by filtering, over a predefined interval (called a "quota"), thereby causing slow reaction to sudden congestion build-up, and truncated reaction to gradual congestion build-up over an interval exceeding the predetermined quota interval. Furthermore, the AACC system continues to send sample packets even when the connection is idle, thereby wasting transmission resources when no congestion can possibly occur.
Major problems, then, with the adaptive congestion control systems of the prior art lie in the inaccurate estimation of path delay in certain circumstances, the use of inappropriate admission increase and decrease change functions, sluggish response to rapid congestion changes and the transmission of unnecessary sample packets during idle periods.